/*
 *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
 *
 *  Redistribution and use in source and binary forms, with or without
 *  modification, are permitted provided that the following conditions are met:
 *
 *  Redistributions of source code must retain the above copyright notice,
 *  this list of conditions and the following disclaimer.
 *  Redistributions in binary form must reproduce the above copyright
 *  notice, this list of conditions and the following disclaimer in the
 *  documentation and/or other materials provided with the distribution.
 *  Neither the name of the dreamlu.net developer nor the names of its
 *  contributors may be used to endorse or promote products derived from
 *  this software without specific prior written permission.
 *  Author: Chill 庄骞 (smallchill@163.com)
 */
package org.springblade.modules.admin.entity;

import java.math.BigDecimal;

import cn.hutool.core.convert.Convert;
import com.baomidou.mybatisplus.annotation.TableName;
import org.springblade.core.mp.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springblade.core.tenant.mp.TenantEntity;
import org.springblade.modules.system.entity.Tenant;

/**
 * 人工工资月份明细实体类
 *
 * @author ysq
 * @since 2025-05-23
 */
@Data
@TableName("blade_user_salary_month_detail")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "UserSalaryMonthDetail对象", description = "人工工资月份明细")
public class UserSalaryMonthDetail extends TenantEntity {

	private static final long serialVersionUID = 1L;

	/**
	 * 工资月份
	 */
	@ApiModelProperty(value = "工资月份")
	private Integer salaryMonth;


	/**
	 * 工资月份
	 */
	@ApiModelProperty(value = "工资月份")
	private Long salaryMonthId;

	/**
	 * 人员id
	 */
	@ApiModelProperty(value = "人员id")
	private Long userId;
	/**
	 * 人员名字
	 */
	@ApiModelProperty(value = "人员名字")
	private String userName;
	/**
	 * 岗位名称
	 */
	@ApiModelProperty(value = "岗位名称")
	private String roleNames;
	/**
	 * 部门名称
	 */
	@ApiModelProperty(value = "部门名称")
	private String groupNames;
	/**
	 * 技能等级
	 */
	@ApiModelProperty(value = "技能等级")
	private String skillName;
	/**
	 * 是否技术支持 1:是 0:否
	 */
	@ApiModelProperty(value = "是否技术支持 1:是 0:否")
	private Boolean isExpert = false;


	/**
	 * 单人负责梯台
	 */
	@ApiModelProperty(value = "单人负责梯台-年审")
	private BigDecimal myElevatorNsCounts = Convert.toBigDecimal(0);


	/**
	 * 单人负责梯台
	 */
	@ApiModelProperty(value = "单人负责梯台-非年审")
	private BigDecimal myElevatorVillaCounts = Convert.toBigDecimal(0);


	/**
	 * 单人负责梯台
	 */
	@ApiModelProperty(value = "单人负责梯台")
	private BigDecimal myElevatorCounts = Convert.toBigDecimal(0);
	/**
	 * 故障率
	 */
	@ApiModelProperty(value = "故障率")
	private BigDecimal faultRate = Convert.toBigDecimal(0);
	/**
	 * 维修工单-担当比例
	 */
	@ApiModelProperty(value = "维修工单-担当比例")
	private BigDecimal myWxPlanRate = Convert.toBigDecimal(0);
	/**
	 * 保养不合格-单数
	 */
	@ApiModelProperty(value = "保养不合格-单数")
	private Integer byNullifyPlanCounts = 0;
	/**
	 * 维修不合格-单数
	 */
	@ApiModelProperty(value = "维修不合格-单数")
	private Integer wxNullifyPlanCounts = 0;
	/**
	 * 申请技术支持次数
	 */
	@ApiModelProperty(value = "申请技术支持次数")
	private Integer expertHelpCounts = 0;
	/**
	 * 技术支持判定-维修责任次数
	 */
	@ApiModelProperty(value = "技术支持判定-维修责任次数")
	private Integer wxExpertHelpCounts = 0;
	/**
	 * 技术支持判定-保养责任次数
	 */
	@ApiModelProperty(value = "技术支持判定-保养责任次数")
	private Integer byExpertHelpCounts = 0;
	/**
	 * 技术支持他人次数
	 */
	@ApiModelProperty(value = "技术支持他人次数")
	private Integer expertHelpOtherCounts = 0;
	/**
	 * 基础工资
	 */
	@ApiModelProperty(value = "基础工资")
	private BigDecimal userSalary = Convert.toBigDecimal(0);
	/**
	 * 岗位工资
	 */
	@ApiModelProperty(value = "岗位工资")
	private BigDecimal roleSalary = Convert.toBigDecimal(0);
	/**
	 * 保养绩效
	 */
	@ApiModelProperty(value = "保养绩效")
	private BigDecimal byPerformance = Convert.toBigDecimal(0);
	/**
	 * 维修绩效(团队贡献)
	 */
	@ApiModelProperty(value = "维修绩效(团队贡献)")
	private BigDecimal wxPerformance = Convert.toBigDecimal(0);
	/**
	 * 年审绩效
	 */
	@ApiModelProperty(value = "年审绩效")
	private BigDecimal nsPerformance = Convert.toBigDecimal(0);
	/**
	 * 故障率绩效处理
	 */
	@ApiModelProperty(value = "故障率绩效处罚")
	private BigDecimal failureRatePunish = Convert.toBigDecimal(0);
	/**
	 * 保养不合格处罚
	 */
	@ApiModelProperty(value = "保养不合格处罚")
	private BigDecimal byNoPassPunish = Convert.toBigDecimal(0);
	/**
	 * 维修不合格处罚
	 */
	@ApiModelProperty(value = "维修不合格处罚")
	private BigDecimal wxNoPassPunish = Convert.toBigDecimal(0);
	/**
	 * 判断保养责任处罚
	 */
	@ApiModelProperty(value = "判断保养责任处罚")
	private BigDecimal byLiabilityPunish = Convert.toBigDecimal(0);
	/**
	 * 判断维修责任处罚
	 */
	@ApiModelProperty(value = "判断维修责任处罚")
	private BigDecimal wxLiabilityPunish = Convert.toBigDecimal(0);
	/**
	 * 申请技术支持处罚
	 */
	@ApiModelProperty(value = "申请技术支持处罚")
	private BigDecimal expertPunish = Convert.toBigDecimal(0);
	/**
	 * 技术支持奖励
	 */
	@ApiModelProperty(value = "技术支持奖励")
	private BigDecimal expertBonus = Convert.toBigDecimal(0);
	/**
	 * 保底工资
	 */
	@ApiModelProperty(value = "保底工资")
	private BigDecimal minSalary = Convert.toBigDecimal(0);
	/**
	 * 绩效工资
	 */
	@ApiModelProperty(value = "绩效工资")
	private BigDecimal performanceSalary = Convert.toBigDecimal(0);
	/**
	 * 拟定工资
	 */
	@ApiModelProperty(value = "拟定工资")
	private BigDecimal disAllSalary = Convert.toBigDecimal(0);
	/**
	 * 主管奖励
	 */
	@ApiModelProperty(value = "主管奖励")
	private BigDecimal managerBonus = Convert.toBigDecimal(0);
	/**
	 * 主管处罚
	 */
	@ApiModelProperty(value = "主管处罚")
	private BigDecimal managerPunish = Convert.toBigDecimal(0);
	/**
	 * 维保绩效总工资
	 */
	@ApiModelProperty(value = "维保绩效总工资")
	private BigDecimal enAllSalary = Convert.toBigDecimal(0);
	/**
	 * 模板id
	 */
	@ApiModelProperty(value = "模板id")
	private Long templateId;
	/**
	 * 模板名称
	 */
	@ApiModelProperty(value = "模板名称")
	private String templateName;


}
